home *** CD-ROM | disk | FTP | other *** search
/ Floppyshop 2 / Floppyshop - 2.zip / Floppyshop - 2.iso / art&graf.ix / art-6007 / xcopy / xcopy.doc < prev    next >
Text File  |  1995-06-26  |  11KB  |  262 lines

  1.  
  2.          p-------------------------------------------q
  3.          p|q             xCOPY pOV v0.9              p|q
  4.          p|q        Programmé en GFA BASIC 3.5E      p|q
  5.          p|q            par GRANGER Fabrice          p|q
  6.          p|q                23/06/95                 p|q
  7.          p-------------------------------------------q
  8.  
  9.                   p-Sommaire----------------q
  10.                   p|q     1) Présentation   p|q
  11.                   p|q     2) L'interface    p|q
  12.                   p|q     3) Un exemple     p|q
  13.                   p-------------------------q
  14.  
  15.  
  16.  p 1) Présentation q
  17.  
  18.    xCOPY pOV est un utilitaire facilitant les copies d'objets pour
  19. Persistence Of Vision 2. Prenons un petit exemple pour bien comprendre :
  20. vous voulez réaliser une roue de fête foraine ( un exemple comme un autre ),
  21. sous votre éditeur de texte préféré, vous avez laborieusement créer
  22. la structure des 'rayons' ainsi que celle des cabines... Oui mais voilà,
  23. tout serait parfait s'il n'y avait pas à calculer et à écrire chaque
  24. rotation des rayons autour de l'axe ; d'autant plus que les cabines ne
  25. tournent pas sur elles-mêmes et donc la rotation orbitale ne nous aide
  26. plus du tout...
  27.    C'est à ce moment qu'intervient xCOPY pOV !!!
  28.  
  29.  p 2) L'interface q
  30.  
  31.    Je tiens tout d'abord à remercier Claude ATTARD pour l'initiation
  32. au GEM et surtout la routine xform_do.
  33.  
  34.    Les menus déroulants
  35.    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  36.    p xCOPY pOV q
  37.       Bon, on va pas en parler pendant 107 ans, c'est la
  38.       même chose dans tous les programmes (GEM !).
  39.  
  40.    p sCRIPT q
  41.          |
  42.          |- p Paramêtres q
  43.          |      C'est le formulaire principal, c'est là
  44.          |      qu'on va donner à xCOPY toutes les caractéristiques
  45.          |      de la copie : nom, translation, rotation, échelle,
  46.          |      nombre de copie plus quelques détails...
  47.          |
  48.          |- p Visualisation q
  49.          |      Cà c'est un truc interessant : on va pouvoir
  50.          |      regarder ce que donne notre copie d'objet en 3D.
  51.          |
  52.          |- p Voir script q
  53.          |      Cette option permet de voir la 'gueule' du fichier
  54.          |      INCLUDE généré par xCOPY.
  55.          |
  56.          |- p Quitter q
  57.                 Cette option est très complexe... elle fait
  58.                 apparaître une mystérieuse boîte d'alerte
  59.                 nous demandant si l'on veut quitter xCOPY (?!?)
  60.  
  61.    p oPTIONS q
  62.          |
  63.          |- p Axes q
  64.          |      Bon c'est pas dur, soit vous voulez afficher les axes
  65.          |      dans la fenêtre Visualisation, soit vous voulez pas.
  66.          |      Le schmoll devant 'Axes' signifie que vous voulez
  67.          |      voir les axes ; il était important de le préciser.
  68.          |
  69.          |- p ------- q
  70.          |      Ce ne sont pas des options... De toute façon vous ne pouvez
  71.          |      même pas les sélectionner.
  72.          |
  73.          |- p Caméra 1 q
  74.          |      Dans une visualisation 3D qui se respecte on peut
  75.          |      déplacer la caméra. Cette option permet de choisir
  76.          |      la caméra 1 comme point de vue, la fenêtre visualisation
  77.          |      sera redessinée.
  78.          |
  79.          |- p Caméra 2 q
  80.          |      Dans une visualisation 3D qui se respecte on peut
  81.          |      déplacer la caméra. Cette option permet de choisir
  82.          |      la caméra 2 comme point de vue, la fenêtre visualisation
  83.          |      sera redessinée.
  84.          |
  85.          |- p Caméra 3 q
  86.          |      Bon, je pense que vous avez compris : on reprend le paragraphe
  87.          |      précédent et on remplace 2 par 3. J'espère que votre éditeur
  88.          |      de texte est équipé d'un COPIER-COLLER-REMPLACER performant
  89.          |      parce que...
  90.          |
  91.          |- p Caméra 4 q
  92.          |      Lancer la copie ici  !!!
  93.          |
  94.          |- p Param. caméra q
  95.                 Si on clique de dessus, un superbe formulaire en fenêtre
  96.                 ( merci xform_do !!! ) nous permet de configurer chaque
  97.                 caméra ( 1, 2, 3 ou 4 ).
  98.  
  99.    p cONFIGURATION q
  100.          |
  101.          |- p Affichage q
  102.          |      C'est une option que j'ai rajouté juste pour le genre
  103.          |      elle permet de choisir les couleurs et les trames des
  104.          |      fenêtre script et visualisation.
  105.          |
  106.          |- p Chemin d'accès q
  107.          |      Cette option permet de redéfinir le chemin d'accès au
  108.          |      fichier ressource, ainsi qu'au répertoire des includes
  109.          |      de POV2.
  110.          |
  111.          |- p Sauver config. q
  112.                Bah ça alors !!! On peut sauver la configuration !!!
  113.                n'oublier pas la formule :
  114.                CONFIGURATION = CAMERA 1,2,3,4 + AFFICHAGE + CHEMIN.
  115.  
  116.    Les formulaires
  117.    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  118.    p PARAMETRES q
  119.  
  120.       p Nom de l'objet q
  121.          il faut taper le nom exact ( MAJ/MIN ) de l'objet que vous
  122.          avez déclaré dans votre script et dont vous voulez faire
  123.          la copie.
  124.  
  125.       p Nombre q
  126.          À l'aide de + et de - ( sur l'écran ! ) sélectionner le nombre
  127.          de fois que l'objet sera copié ( entre 1 et 99 ).
  128.  
  129.       p Translation q
  130.          Toujours à l'aide de + et - ( pas les mêmes, mais ils sont toujours
  131.          sur l'écran ! ) sélectionner les valeurs de translation en
  132.          x, y et z. ATTENTION : les valeurs sont ajoutées à chaque itération.
  133.  
  134.       p Rotation et échelle q
  135.          C'est la même chose que pour la translation ( attention
  136.          à la position des + et des - ).
  137.  
  138.       p Coordonnées initiales q
  139.          Si vous sélectionnez cette option et que vous 'APPLIQUER', les
  140.          valeurs choisies correspondront aux caractéristiques de votre
  141.          objet initial.
  142.  
  143.       p Rotation de l'objet q
  144.          Cette option, lorsqu'elle est désélectionnée, va nous permettre
  145.          de créer toutes les cabines qui composent notre roue de fête
  146.          foraine, sinon xCOPY laissera l'objet tourné avec les aléas
  147.          de la rotation orbitale.
  148.  
  149.       p Appliquer q
  150.          On recalcule la vue 3D et le script et on lance un 'redraw'.
  151.  
  152.    p Paramétrage caméra q
  153.  
  154.       p Distance q
  155.          Mince ! encore ces foutus boutons + et -. Bon, ici on va
  156.          paramêtrer la distance de l'oeil pour la fenêtre visualisation.
  157.          Ça ne change rien dans le script généré.
  158.  
  159.       p Focale q
  160.          Malgré l'étrange fonctionnement des boutons + et -, on va
  161.          pouvoir configurer la focale de la caméra. Plus la valeur
  162.          diminue plus le champ de vision est grand et inversement ;
  163.          attention aux déformations !
  164.  
  165.       p Orientation du regard q
  166.          Ici, on choisit les valeurs de RX, RY et RZ qui corespondent
  167.          à la rotation de la caméra. voici un petit script POV qui va
  168.          vous éclairer pour l'utilisation de la caméra :
  169.          camera {
  170.             direction <0,0,FOCALE/500> // c'est une approximation
  171.             location <0,0,-DISTANCE>
  172.             look_at <0,0,0>
  173.             rotation <RX,RY,RZ>
  174.          }
  175.          Si ça ne vous aide pas du tout sachez que si RX=90 RY=0 RZ=0
  176.          alors la fenêtre visualisation nous montre une vue de HAUT ; si
  177.          RX=0 RY=90 RZ=0 une vue de profil, si RX=0 RY=0 RZ=0 alors on
  178.          voit l'objet de face.
  179.  
  180.       p Appliquer q
  181.          on recalcule la vue 3D avec la nouvelle caméra et on balance
  182.          tout dans la fenêtre visualisation ( redraw ! ).
  183.  
  184.    p Affichage q
  185.  
  186.       Juste un petit détail, le tramage n'est appliquer qu'à la
  187.       fenêtre script.
  188.  
  189.    p Chemin d'accès q
  190.  
  191.       Pour paramêtrer un chemin il faut cliquer sur le chemin, le
  192.       sélecteur de fichier apparaît alors.
  193.       N'oublier pas d'APPLIQUER sinon rien ne se passera.
  194.  
  195.  p 3) Le petit exemple q
  196.  
  197.    Reprenons l'exemple de la fête foraine. Vous venez, donc, de créer
  198. les rayons de la roue : ils ont une hauteur de 2, une largeur de 0.1, et
  199. une profondeur de 0.4. Sous xCOPY, paramêtrez ces valeurs dans la boîte
  200. échelle ; il ne faut pas oublier que par défaut xCOPY centre l'objet
  201. autour du point <0,0,0>, il faut donc translater l'objet en y de la moitié
  202. de sa hauteur (pour notre exemple). Sélectionnez 'coordonnées initiales'
  203. puis 'appliquer'. Allez faire un tour du coté de la fenêtre visualisation
  204. pour voir si l'objet est bien configuré.
  205.    Maintenant, il va falloir paramêtrer la rotation. Définissez le nombre
  206. de rayons de la roue ( par exemple : 9 ), puis déterminez la rotation
  207. autour de l'axe z en fonction de ce nombre ( dans notre exemple : 36° ).
  208. Sélectionner 'Rotation de l'objet' et 'appliquer'. Si la fenêtre
  209. visualisation est ouverte alors vous devriez voir tous vos rayons.
  210.    Sauvez le script obtenu précédemment et passons maintenant aux cabines.
  211. Les caractéristiques de la cabine sont : 0.2 en hauteur, 0.2 en largeur, 0.3
  212. en profondeur. Rentrez ces valeurs sous xCOPY et puisque nous voulons
  213. que nos cabines soient 'accrochées' au bout des rayons il faut paramêtrer
  214. la translation en y, dans notre cas choisissez 2. 'Coordonnées initiales'
  215. puis 'appliquer' et rentrons maintenant les mêmes paramêtres de rotation
  216. que les rayons mais en ne sélectionnant pas 'rotation de l'objet'. Les
  217. cabines devraient tourner autour de l'axe z mais en restant bien droite.
  218. Sauvez le script obtenu et quitter xCOPY.
  219.    Votre script POV doit avoir cette forme là :
  220.  
  221. #include "colors.inc"
  222. #include "etc.inc" // tous vos includes courant
  223.  
  224. #declare Rayon =     // la définition d'un rayon
  225. union {
  226.    ...
  227.    ...
  228. }
  229. #include "rayons.inc"   // le fichier xCOPY pour les rayons
  230.  
  231. #declare Cabine =    // La définition d'une cabine
  232. union {
  233.    ...
  234.    ...
  235. }
  236. #include "cabines.inc"  // le fichier xCOPY pour les cabines
  237.  
  238. // Pour les placer dans l'univers :
  239. union {
  240.    object { xCOPY_Rayon texture {...} }
  241.    object { xCOPY_Cabine texture {...} }
  242. }
  243.  
  244.  p L'enregistrement q
  245.  
  246.    Si vous utilisez souvent xCOPY, merci de bien vouloir vous
  247. enregistrer en :
  248.       - envoyant 20 Frs
  249.       - ou en envoyant une MEGADÉMO, que je n'ai pas, pour Falcon
  250.          ( demandez-moi la liste en BAL FAG sur le 3615 STMAG )
  251.       dans une enveloppe matellassée
  252. à l'adresse :
  253.    GRANGER Fabrice
  254.    24 rue des grandes terres
  255.    78700 Conflans sainte Honorine.
  256.    FRANCE
  257.  
  258.    N'oublier pas de m'indiquer votre nom, votre adresse, votre BAL et
  259. tout autre chose qui pourrait m'interresser.
  260.  
  261.  
  262.